<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>SYS_TIME_CallbackRegisterMS Function</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('frames.html', 'topic', '01223.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element94">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00759.html" target="topic">Time System Service Library Help</a> &gt; <a href="00760.html" target="topic">Library Interface</a> &gt; c) Callback and Delay Functions &gt; <a href="01223.html" target="topic">SYS_TIME_CallbackRegisterMS Function</a></div>
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element1">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element2">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element90">
<a href="01248.html" target="topic">Previous</a> | <a href="00760.html" target="topic">Up</a> | <a href="01224.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element96">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYS_TIME_CallbackRegisterMS@SYS_TIME_CALLBACK@uintptr_t@uint32_t@SYS_TIME_CALLBACK_TYPE Topic Title: SYS_TIME_CallbackRegisterMS Function)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table><div class="Element5">
SYS_TIME_CallbackRegisterMS Function</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<a name="PageContent"></a><div class="Element58">
<a name="4465736372697074696F6E"></a><div class="Element11">
<div class="Element10">
<p class="Element10">
Creates a timer object and registers a function with it to be called back when the requested delay (specified in milliseconds) has completed. The caller must identify if the timer should call the function once or repeatedly every time the given delay period expires.</p></div>
</div>
<a name="43"></a><div class="Element99">
C</div>
<div class="Element101"><div class="Element100"><pre class="Element100"><a href="01235.html" target="topic">SYS_TIME_HANDLE</a> <strong><span style="color: #000000">SYS_TIME_CallbackRegisterMS</span></strong>(
    <a href="01219.html" target="topic">SYS_TIME_CALLBACK</a> <strong><span style="color: #000000">callback</span></strong>, 
    uintptr_t <strong><span style="color: #000000">context</span></strong>, 
    uint32_t <strong><span style="color: #000000">ms</span></strong>, 
    <a href="01220.html" target="topic">SYS_TIME_CALLBACK_TYPE</a> <strong><span style="color: #000000">type</span></strong>
);</pre></div></div>
<a name="507265636F6E646974696F6E73"></a><div class="Element14">
Preconditions</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
The <a href="01238.html" target="topic">SYS_TIME_Initialize</a> function should have been called before calling this function.</p></div>
</div>
<a name="506172616D6574657273"></a><div class="Element14">
Parameters</div>
<div class="Element11">
<div class="Element10">
<div class="Element312">
<div class="TableDiv">
<table cellspacing="0" class="Table3">
<tr>
<td class="Element300" valign="top" width="35%">
<div class="Element301">
Parameters&nbsp;</div></td><td class="Element304" valign="top" width="65%">
<div class="Element305">
Description&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
callback&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Pointer to the function to be called. For single shot timers, the callback cannot be NULL. For periodic timers, if the callback pointer is given as NULL, no callback will occur, but <a href="01247.html" target="topic">SYS_TIME_TimerPeriodHasExpired</a> can still be polled to determine if the period has expired for a periodic timer.<br>&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
context&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
A client-defined value that is passed to the callback function.<br>&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
ms&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Time period in milliseconds.<br>&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
type&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Type of callback requested. If type is SYS_TIME_SINGLE, the Callback function will be called once when the time period expires. After the time period expires, the timer object will be freed. If type is SYS_TIME_PERIODIC Callback function will be called repeatedly, every time the time period expires until the timer object is stopped or deleted.&nbsp;</div></td></tr></table></div></div>
</div>
</div>
<a name="52657475726E73"></a><div class="Element14">
Returns</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
<a href="01235.html" target="topic">SYS_TIME_HANDLE</a> - A valid timer object handle if the call succeeds. <a href="01236.html" target="topic">SYS_TIME_HANDLE_INVALID</a> if it fails.</p></div>
</div>
<a name="52656D61726B73"></a><div class="Element14">
Remarks</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
Will give a callback after the requested number of microseconds or longer have elapsed, depending on system performance. In tick-based mode, the requested delay will be ceiled to the next timer tick. For example, if the timer tick is set to 700 usec and the requested delay is 2 msec, a delay of 2.1 ms will be generated.&nbsp;</p>
<p class="Element10">
Delay values of 0 will return SYS_TIME_ERROR.</p></div>
</div>
<a name="4578616D706C65"></a><div class="Element14">
Example</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
Given a callback function implementation matching the following prototype: </p><div class="Element13"><div class="Element12"><pre class="Element12"><strong><span style="color: #000080">void</span></strong> MyCallback ( uintptr_t context);</pre></div></div>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
The following example call will register it, requesting a 50 millisecond periodic callback. </p><div class="Element13"><div class="Element12"><pre class="Element12"><i><span style="color: #008000">//Give a SYS_TIME_CALLBACK function &quot;MyCallback&quot;,</span></i>
<a href="01235.html" target="topic">SYS_TIME_HANDLE</a> handle = SYS_TIME_CallbackRegisterMS(MyCallback, (uintptr_t)0, 50, SYS_TIME_PERIODIC);
<strong><span style="color: #000080">if</span></strong> (handle != <a href="01236.html" target="topic">SYS_TIME_HANDLE_INVALID</a>)
{
      <i><span style="color: #008000">//timer is created successfully.</span></i>
}</pre></div></div>
</div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<div class="Element95">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00759.html" target="topic">Time System Service Library Help</a> &gt; <a href="00760.html" target="topic">Library Interface</a> &gt; c) Callback and Delay Functions &gt; <a href="01223.html" target="topic">SYS_TIME_CallbackRegisterMS Function</a></div>
<div class="Element93">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element3">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element4">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element91">
<a href="01248.html" target="topic">Previous</a> | <a href="00760.html" target="topic">Up</a> | <a href="01224.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element97">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYS_TIME_CallbackRegisterMS@SYS_TIME_CALLBACK@uintptr_t@uint32_t@SYS_TIME_CALLBACK_TYPE Topic Title: SYS_TIME_CallbackRegisterMS Function)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table></div>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>